package com.taobao.api.domain;

import java.util.List;

import com.taobao.api.TaobaoObject;
import com.taobao.api.internal.mapping.ApiField;
import com.taobao.api.internal.mapping.ApiListField;

/**
 * 退款单
 *
 * @author auto create
 * @since 1.0, null
 */
public class RefundBill extends TaobaoObject {

	private static final long serialVersionUID = 7558358739791247981L;

	/**
	 * 实际退款金额
	 */
	@ApiField("actual_refund_fee")
	private Long actualRefundFee;

	/**
	 * 支付宝交易号
	 */
	@ApiField("alipay_no")
	private String alipayNo;

	/**
	 * 扩展属性
	 */
	@ApiField("attribute")
	private String attribute;

	/**
	 * 单据类型，退款单
	 */
	@ApiField("bill_type")
	private String billType;

	/**
	 * 买家昵称
	 */
	@ApiField("buyer_nick")
	private String buyerNick;

	/**
	 * 退款创建时间
	 */
	@ApiField("created")
	private String created;

	/**
	 * 淘宝小二是否介入
	 */
	@ApiField("cs_status")
	private String csStatus;

	/**
	 * 当前状态超时时间
	 */
	@ApiField("current_phase_timeout")
	private String currentPhaseTimeout;

	/**
	 * 退款商品信息
	 */
	@ApiListField("item_list")
	@ApiField("refund_item")
	private List<RefundItem> itemList;

	/**
	 * 最后一次修改时间
	 */
	@ApiField("modified")
	private String modified;

	/**
	 * 交易子订单号
	 */
	@ApiField("oid")
	private Long oid;

	/**
	 * cannot_refuse: 不允许操作
refund_onweb: 需要到网页版操作
	 */
	@ApiField("operation_constraint")
	private String operationConstraint;

	/**
	 * 申请退款原因
	 */
	@ApiField("reason")
	private String reason;

	/**
	 * 申请退款金额，单位：分
	 */
	@ApiField("refund_fee")
	private Long refundFee;

	/**
	 * 退款单编号
	 */
	@ApiField("refund_id")
	private Long refundId;

	/**
	 * onsale:售中
aftersale：售后
	 */
	@ApiField("refund_phase")
	private String refundPhase;

	/**
	 * refund:仅退款
return:退款退货
	 */
	@ApiField("refund_type")
	private String refundType;

	/**
	 * 退款协议版本
	 */
	@ApiField("refund_version")
	private Long refundVersion;

	/**
	 * 卖家昵称
	 */
	@ApiField("seller_nick")
	private String sellerNick;

	/**
	 * 退款单 状态
wait_seller_agree：买家申请，等待卖家同意
seller_refuse：卖家拒绝
goods_returning：退货中
closed：退款失败
success：退款成功
	 */
	@ApiField("status")
	private String status;

	/**
	 * 退款单的相关标签信息
	 */
	@ApiListField("tag_list")
	@ApiField("tag")
	private List<Tag> tagList;

	/**
	 * 交易主订单号
	 */
	@ApiField("tid")
	private Long tid;

	/**
	 * wait_send_good:等待卖家发货
wait_confirm_good：卖家已发货，等待买家确认收货
finish: 交易完成
	 */
	@ApiField("trade_status")
	private String tradeStatus;

	public Long getActualRefundFee() {
		return this.actualRefundFee;
	}
	public void setActualRefundFee(Long actualRefundFee) {
		this.actualRefundFee = actualRefundFee;
	}

	public String getAlipayNo() {
		return this.alipayNo;
	}
	public void setAlipayNo(String alipayNo) {
		this.alipayNo = alipayNo;
	}

	public String getAttribute() {
		return this.attribute;
	}
	public void setAttribute(String attribute) {
		this.attribute = attribute;
	}

	public String getBillType() {
		return this.billType;
	}
	public void setBillType(String billType) {
		this.billType = billType;
	}

	public String getBuyerNick() {
		return this.buyerNick;
	}
	public void setBuyerNick(String buyerNick) {
		this.buyerNick = buyerNick;
	}

	public String getCreated() {
		return this.created;
	}
	public void setCreated(String created) {
		this.created = created;
	}

	public String getCsStatus() {
		return this.csStatus;
	}
	public void setCsStatus(String csStatus) {
		this.csStatus = csStatus;
	}

	public String getCurrentPhaseTimeout() {
		return this.currentPhaseTimeout;
	}
	public void setCurrentPhaseTimeout(String currentPhaseTimeout) {
		this.currentPhaseTimeout = currentPhaseTimeout;
	}

	public List<RefundItem> getItemList() {
		return this.itemList;
	}
	public void setItemList(List<RefundItem> itemList) {
		this.itemList = itemList;
	}

	public String getModified() {
		return this.modified;
	}
	public void setModified(String modified) {
		this.modified = modified;
	}

	public Long getOid() {
		return this.oid;
	}
	public void setOid(Long oid) {
		this.oid = oid;
	}

	public String getOperationConstraint() {
		return this.operationConstraint;
	}
	public void setOperationConstraint(String operationConstraint) {
		this.operationConstraint = operationConstraint;
	}

	public String getReason() {
		return this.reason;
	}
	public void setReason(String reason) {
		this.reason = reason;
	}

	public Long getRefundFee() {
		return this.refundFee;
	}
	public void setRefundFee(Long refundFee) {
		this.refundFee = refundFee;
	}

	public Long getRefundId() {
		return this.refundId;
	}
	public void setRefundId(Long refundId) {
		this.refundId = refundId;
	}

	public String getRefundPhase() {
		return this.refundPhase;
	}
	public void setRefundPhase(String refundPhase) {
		this.refundPhase = refundPhase;
	}

	public String getRefundType() {
		return this.refundType;
	}
	public void setRefundType(String refundType) {
		this.refundType = refundType;
	}

	public Long getRefundVersion() {
		return this.refundVersion;
	}
	public void setRefundVersion(Long refundVersion) {
		this.refundVersion = refundVersion;
	}

	public String getSellerNick() {
		return this.sellerNick;
	}
	public void setSellerNick(String sellerNick) {
		this.sellerNick = sellerNick;
	}

	public String getStatus() {
		return this.status;
	}
	public void setStatus(String status) {
		this.status = status;
	}

	public List<Tag> getTagList() {
		return this.tagList;
	}
	public void setTagList(List<Tag> tagList) {
		this.tagList = tagList;
	}

	public Long getTid() {
		return this.tid;
	}
	public void setTid(Long tid) {
		this.tid = tid;
	}

	public String getTradeStatus() {
		return this.tradeStatus;
	}
	public void setTradeStatus(String tradeStatus) {
		this.tradeStatus = tradeStatus;
	}

}
